package com.yhj.wchat.service;

import com.yhj.wchat.entity.vo.ContactUserVO;
import com.yhj.wchat.entity.vo.SearchFriendVO;
import com.yhj.wchat.entity.vo.UserContactApplyNewMessageVO;
import com.yhj.wchat.entity.vo.UserInfoVO;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;
import java.util.List;

public interface UserInfoService {

    /**
     * 注册
     * @param email
     * @param nickName
     * @param password
     */
    void register(String email, String nickName, String password);

    /**
     * 登录
     * @param email
     * @param password
     * @return
     */
    UserInfoVO login(@NotEmpty @Email String email, @NotEmpty @Size(max = 20) String password);

    Boolean logout(String userId);

    List<ContactUserVO> getUserContact(List<String> userIds);

    List<SearchFriendVO> searchFriends(String searchKeyWord);

    Boolean sendAddFriend(String userId, String receiverId, String content);

    List<UserContactApplyNewMessageVO> getApplyFriend(String userId);
}
